""" 列表，元组，字符串统称为序列
分为可变序列与不可变序列即分别为列表与元组和字符串
id方法可以取出序列的id值，当对不可变序列进行取id操作时会创建新序列
is is not函数依靠id值判断两个序列是否相等
in not in函数判断元素是否在序列中
del 用于删除序列
list() tuple() str()函数用于序列互相转化
min（序列，default = ""，） max（）函数用来得到序列内的最大最小值（字母为ASCII码值）
len（）函数用来求长度（32位为2**31-1，64位为2**63-1），sum（序列，start = 起始值）函数
sorted(s,reversed = true/false, key = 判断依据 )创建一个原元素从小到大排序的新序列 reversed()用来反转序列
all() 判断可迭代序列中是否每个元素都为真，any()函数判断是否存在某个元素为真
enumerate(start)函数，创建一个由每个元素及其位置组成的二元数组，start可以定义起始值
zip()函数可以将多个可迭代对象的相同位置元素组合成一个元组,长度不同时取最短的那个（如需取最长可以用itertools模块中的zip_longest（）函数）
map(计算方法，可迭代对象),长度不一取最小
filter(判断方法， 可迭代对象)会将结果为true的元素返回
"""
list1 = [1, 2, 3]
print(id(list1))
list1 *= 2
print(id(list1))
list2 = list1 * 2
print(id(list2))
print(2 in list1)
# del list1
print(list1)
del list2[0:5]
print(list2)
print(reversed(list2))
print(list(reversed(list2)))
print(enumerate(list2))
print(list(enumerate(list2, 10)))
print(list(zip(list1, list2)))
print(list(map(pow, [1, 2], [4, 5])))
'''
迭代器和可迭代对象区别
迭代器是一次性，可迭代对象可以重复使用
iter()函数可将可迭代对象转为迭代器
next(迭代器， 末尾内容（可以不写，但会出现异常）)函数可逐一提取迭代器内容
'''
x = [1, 2, 3, 4, 5]
y = iter(x)
print(type(y))
